package top.syfy.jwt.jwtdemo.message;

/**
 * 消息返回封装类实例生成工具类, 针对 ReturnMessage 类进行封装
 *
 * @author syfy
 * @date 2021/03/05
 */
public class ReturnMessageUtil {


	/**
	 * 无异常, 请求成功并有具体内容返回
	 *
	 * @param object 返回的内容
	 * @return 返回消息实例
	 */
	public static ReturnMessage<Object> success(Object object) {
		return new ReturnMessage<>(0, "success", object);
	}

	/**
	 * 无异常, 请求成功没有具体内容返回
	 *
	 * @return 返回消息实例
	 */
	public static ReturnMessage<Object> success() {
		return success(null);
	}

	/**
	 * 有自定义异常错误信息, 但没有具体内容返回
	 *
	 * @param code    错误码
	 * @param message 提示信息
	 * @return 返回消息实例
	 */
	public static ReturnMessage<Object> error(Integer code, String message) {
		return new ReturnMessage<>(code, message, null);
	}

	/**
	 * 有自定义异常错误信息, 但没有具体内容返回
	 *
	 * @param codeEnum 定义向前端输出的提示信息枚举
	 * @return 返回消息实例
	 */
	public static ReturnMessage<Object> error(CodeEnum codeEnum) {
		return new ReturnMessage<>(codeEnum.getCode(), codeEnum.getMsg(), null);
	}

}
